module Personale::RapportiDiLavoroHelper
  def rapporto_di_lavoro_durata_column(record)
    if record.data_fine.nil?
      testo = "anzianità:<br>"
      data_fine = Date.today
    else
      testo = ""
      data_fine = record.data_fine

    end
    durata = distance_of_time_in_words(record.data_inizio, data_fine + 1.day, false, :only => ["anni", "mesi", "giorni"])
    return testo + durata
  end


  def list_row_class(record)
    if !record.attivo
      'grey'
    elsif (!record.data_fine.nil? and record.data_fine <= 1.month.from_now.to_date)
      'red'
    end
  end

  def options_for_association_conditions(association)
    if association.name == :livello_ccnl
      {'livelli_ccnl.ccnl_id' => @record.ccnl_id}
    else
      super
    end
  end
  
  def jsgantt_elenco_rapporti
    data = ""
    RapportoDiLavoro.all(:order => 'data_inizio DESC', :limit => 50).each do |i|
      data += "g.AddTaskItem(new JSGantt.TaskItem("
      data += i.id.to_s
      data += ",'"
      data += i.personale.name
      data += "','"
      data += i.data_inizio.strftime("%d/%m/%Y")
      data += "','"
      data += i.data_fine.strftime("%d/%m/%Y")
      data += "','005CB8','',0,'"
      data += i.tipo_rapporto_di_lavoro.name
      data += "'));\n"
    end
    return data
  end
  
  def jsgantt_elenco_personale
    data = ""
    Personale.find(:all, :order => 'cognome ASC').each do |p|
      if RapportoDiLavoro.all(:conditions => ["personale_id = ? ", p]) != []
        data += "g.AddTaskItem(new JSGantt.TaskItem(10"
        data += p.id.to_s
        data += ",'"
        data += p.name
        data += "','','','ff0000','',0,'',0, 1, 0, 0));\n"
        RapportoDiLavoro.all(:conditions => ["personale_id = ? ", p], :order => 'data_inizio DESC').each do |i|
          data += "g.AddTaskItem(new JSGantt.TaskItem("
          data += i.id.to_s
          data += ",'"
          data += i.personale.name
          data += "','"
          data += i.data_inizio.strftime("%d/%m/%Y")
          data += "','"
          data += i.data_fine.strftime("%d/%m/%Y")
          data += "','005CB8','',0,'"
          data += i.tipo_rapporto_di_lavoro.name
          data += "',"
          data += "0,0,10"
          data += p.id.to_s
          data += "));\n"
        end
      end
    end
    return data
  end
end
